home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / DOS / C / CTOOLBOX.ZIP / REF_GUID.TXT < prev    next >
Encoding:
Text File  |  1988-10-07  |  35.8 KB  |  1,171 lines

  1.                    Unicorn Library
  2.                    Reference Guide
  3.                    ( UCLIB    5.00 )
  4.  
  5.  
  6.         Unicorn Software P.O. Box 3214 Kirkland, WA  98083-3214
  7.  
  8.  
  9.  
  10. double a_circle( double );
  11.      Return the area of a circle with a given radius.
  12.  
  13. int    act_page( void )
  14.      Return the current active video page.
  15.  
  16. int    active_dsply( MNUPTR mnu_ptr, int choice  )
  17.      Display the selected menu item in the active attribute.
  18.  
  19. double a_cylinder( double, double );
  20.      Return the lateral surface area of a cylinder.
  21.  
  22. double a_ellipse( double, double );
  23.      Return the area of an ellipse given its major and minor radii.
  24.  
  25.  
  26. double al_cone( double, double );
  27.      Return the lateral surface area of a cone given the radius
  28.      of the base and the height.
  29.  
  30. double alt_eq_t( double );
  31.      Return the altitude of an equilateral triangle.
  32.  
  33. double a_parallel( double, double, double );
  34.      Return the area of a parallelogram given the length of the
  35.      two sides and the enclosed angle in radians.
  36.  
  37. double a_rect( double, double );
  38.      Return the area of a rectangle given the two sides.
  39.  
  40. double a_sphere( double );
  41.      Return the area of a sphere given the radius.
  42.  
  43. double at_cone( double, double );
  44.      Return the total area of a cone.
  45.  
  46. double at_cylinder( double, double );
  47.      Return the total area of a cone given the radius and height.
  48.  
  49. double a_trap( double, double, double );
  50.      Return the area of a trapezoid given the height and the lengths
  51.      of the two parallel sides.
  52.  
  53. double a_triangle( double, double );
  54.      Return the area of a triangle given the base and height.
  55.  
  56. double a_tri3s( double, double, double );
  57.      Return the area of a triangle given the three sides.
  58.  
  59. void  atsay( int att, int row, int col, char *str )
  60.      Write a string at a specific screen location using a passed
  61.      attribute.
  62.  
  63. void  bdr_clr( int color )
  64.      Change the boder color in text modes.    In graphics modes this
  65.      will change both the border and background colors.
  66.  
  67. void  bios_dot( int row, int col, int color)
  68.      Write a dot to the graphics screen using a bios call.
  69.  
  70. void  blk_let( int ch, int row, int col, int att, int page )
  71.      Print a large letter of block characters.
  72.  
  73. void  blk_str( char *str, int row, int col, int att, int page )
  74.      Print a string of block letters on the screen.
  75.  
  76. int   blnkstr( char *str )
  77.      Replace all characters in a string with space characters.
  78.  
  79. int   cgetchar( int att )
  80.      Get a character from the user using a passed attribute.
  81.  
  82. int   c_gets( int, char * );
  83.      Get a string from the user using a passed attribute.  Allows
  84.      considerable editing including right and left cursor arrow
  85.      keys, home, end, insert and delete.  Returns the length of
  86.      the string.
  87.  
  88. int   chng_case( char str[] )
  89.      Change the case of all alphabetic characters in a string.
  90.  
  91. void  clr_eol( void )
  92.      Clear the screen from the curent cursor position to the
  93.      end of the current line.
  94.  
  95. int   clr_kbuf( void )
  96.      Clear the keyboard type-ahead buffer and wait for a key stroke.
  97.  
  98. void  clr_page( int att, int page )
  99.      Clears the specified video page to the value of attribute.
  100.  
  101. void  clr_win( int ulr, int ulc, int lrr, int lrc, int att )
  102.      Clear a portion of the screen to a passed attribute value.
  103.  
  104. void  cls( void )
  105.      Clear the screen to the default DOS attribute.
  106.  
  107. void  cls_clr( int att )
  108.      Clear the screen to a passed attribute value.
  109.  
  110. int   countch(char *str, char ch)
  111.      Returns the number of times a character occurs in a given string.
  112.  
  113. double cm_inch( double );
  114.      Convert centimeters to inches.
  115.  
  116. int   c_printf( int, char *line... )
  117.      A full color version of printf.  The only differences are that
  118.      this function requires a passed attribute and will NOT currently
  119.      scroll when the bottom of the screen is reached.
  120.  
  121. void  cputchar( int att, int ch )
  122.      Color version of putchar.  Tabs are performed by skipping 3 spaces.
  123.  
  124. int   cur_col( int page )
  125.      Return the current cursor column.
  126.  
  127. void  cur_off( void )
  128.      Turns off the screen cursor.
  129.  
  130. void  cur_on( void )
  131.      Turns on the screen cursor.
  132.  
  133. void  cur_rel( int row_dif, int col_dif )
  134.      Move the screen cursor relative to the current location.
  135.  
  136. void  cur_restore( void );
  137.      This function uses the information stored in the uc_cursor
  138.      structure to place the cursor back on the screen.  NOTE:
  139.      This will restore the cursor from the last call to cur_sav()
  140.      unless the user has placed data into the structure in the
  141.      meantime.
  142.  
  143. int   cur_row( int page )
  144.      Returns the current cursor row.
  145.  
  146. void  cur_save( void )
  147.      Saves all current cursor information in a CURSOR structure
  148.      including row, column and starting and ending lines.
  149.  
  150. int   cur_start( void )
  151.      Return the cusror starting line.
  152.  
  153. int   cur_stop( void )
  154.      Return the cursor stop line.
  155.  
  156. char  *d2mmddyy( int, int, int )
  157.      Accepts a year, month and day and returns a date in 'mmddyy'
  158.      format.
  159.  
  160. int   day( long );
  161.      Returns the day portion of a date in YYMMDD format.
  162.  
  163. long  day2jul( long );
  164.      Convert a date in YYMMDD format to a julian date.  This is
  165.      useful from about 1900 to 2099 as it uses an approximation
  166.      in the calculations.
  167.  
  168. int   dayofwk( long );
  169.      Returns the day of the week from a julian date.
  170.  
  171. int   day_of_yr( int, int, int )
  172.      Accepts a year, month and day and returns the day number of
  173.      the year.
  174.  
  175. double deg_rad( double );
  176.      Converts degrees to radians.  Implemented as a macro.
  177.  
  178. int   del_blnks( char str[] )
  179.      Deletes all space characters from a string and returns the number
  180.      of deletions made.
  181.  
  182. int   del_ch( char *str, int location )
  183.      Deletes the character at location from the string.
  184.  
  185. int   del_lwh( char str[] )
  186.      Deletes leading white space from a string.  Returns the length
  187.      of the resulting string.
  188.  
  189. int   del_substr( char str[], int start, int num_chars )
  190.      Delete a substring from a string.
  191.  
  192. int   del_twh( char str[] )
  193.      Deletes trailing whitespace from a string.  Returns the length
  194.      of the resulting string.
  195.  
  196. void  dx10cpi( void );
  197.      Sets the daisy wheel printer to 10 characters per inch.
  198.  
  199. void  dx12cpi( void );
  200.      Sets the daisy wheel printer to 12 characters per inch.
  201.  
  202. void  dx15cpi( void );
  203.      Sets the daisy wheel printer to 15 characters per inch.
  204.  
  205. void  dx8ln( void );
  206.      Sets the daisy wheel printer to 8 lines per inch.
  207.  
  208. void  dx12ln( void );
  209.      Sets the daisy wheel printer to 12 lines per inch.
  210.  
  211. void  dx120bs( void );
  212.      Back space the daisy wheel printer 1/120 inch.
  213.  
  214. void  dxback( void );
  215.      Select the reverse direction print mode for the daisy wheel
  216.      printer.
  217.  
  218. void  dxbi( void );
  219.      Set the daisy wheel to the bi-directional print mode.
  220.  
  221. void  dxboldst( void );
  222.      Turn on the daisy wheel bold print mode.
  223.  
  224. void  dxbsend( void );
  225.      End both shadow and bold print modes.
  226.  
  227. void  dxchwide( int );
  228.      Set the daisy wheel character width to 'number' - 1 120ths
  229.      of an inch.  Number may be from 1 to 126.
  230.  
  231. void  dxclr1tb( void );
  232.      Clears the tab at the current column position of the printer.
  233.  
  234. void  dxclrtab( void );
  235.      Clears all tabs set by dxsetht().
  236.  
  237. void  dxdefwid( void );
  238.      Return the HMI to the default selected by the dip switches.
  239.  
  240. void  dxeject( void );
  241.      Eject a sheet of paper without loading a new one if the
  242.      optional sheet feeder is being used.
  243.  
  244. void  dx_esc_y( void );
  245.      Print the character defined by 'esc y' on the wheel.
  246.  
  247. void  dx_esc_z( void );
  248.      Print the character defined by 'esc z' on the wheel.
  249.  
  250. void  dxff( void );
  251.      Send a form feed to the daisy wheel printer.
  252.  
  253. void  dxfor( void );
  254.      Select the forward print mode for the daisy wheel printer.
  255.  
  256. void  dxhlf( void );
  257.      Send a half line feed to the daisy wheel printer.
  258.  
  259. void  dxinit( void );
  260.      Inititalize the printer to its power on state.
  261.  
  262. void  dxlinsp( int );
  263.      Set the VMI or line spacing to ( 'number' - 1 ) / 48 ths of
  264.      an inch.  Number must be from 1 to 126.
  265.  
  266. void  dxlmarg( void );
  267.      Set the daisy wheel's left margin to the current position.
  268.  
  269.  
  270. void  dxpglen( int );
  271.      Set the page length for the daisy wheel printer.  The page
  272.      length is set in terms of the number of lines but is stored
  273.      as an absolute length which does not change it the line
  274.      spacing is later changed.  This function also sets the Top-
  275.      of-Form to the current location.
  276.  
  277. void  dxrhlf( void );
  278.      Send a reverse half line feed to the daisy wheel printer.
  279.  
  280. void  dxrlf( void );
  281.      Send a reverse line feed to the daisy wheel printer.
  282.  
  283.  
  284. void  dxsetht( void );
  285.      Set a horizontal tab at the curren position.
  286.  
  287. void  dxshast( void );
  288.      Set the daisy wheel to the shadow print mode.
  289.  
  290. void  dxundend( void );
  291.      End the under line print mode.
  292.  
  293. void  dxundst( void );
  294.      Commence underline print mode for the daisy wheel printer.
  295.  
  296. void  dxuni( void );
  297.      Select the unidirectional print mode.
  298.  
  299. int   dy_in_mo( int, int )
  300.      Return the number of days in a month from a 4 digit year and
  301.      a month number.
  302.  
  303. char  *first_ch( char * )
  304.      Return a pointer to the first non whitespace character in a
  305.      string.
  306.  
  307. void  fld_add( WINDOWPTR, FIELDPTR )
  308.      Adds a field to the window's list of fields.
  309.  
  310. void  fld_all( WINDOWPTR )
  311.      Displays all fields attached to a window with any predefined
  312.      values for the fields.
  313.  
  314. void  fld_clear( FIELDPTR )
  315.      Clears a single field to space characters.
  316.  
  317. void  fld_dsply( WINDOWPTR, char *, char * )
  318.      This function displays the fields data with a defined mask.
  319.  
  320. void  fld_init( WINDOWPTR )
  321.      Establishes a field list pointer in a user passed window
  322.      structure.  Any fields pre-existing a call to this function
  323.      are destroyed and deallocated from the heap.  This function
  324.      must be called prior to defining any fields for the window.
  325.  
  326. FIELDPTR fld_make( WINDOWPTR, int, int, char *, int, char *, char *, int )
  327.      Creates a field structure and adds it to the window field list.
  328.      Default values are defined for the values not passed.
  329.  
  330. int   fld_read( WINDOWPTR, FIELDPTR )
  331.      Read a single data field.
  332.  
  333. void  fld_rjsp( char * )
  334.      Right justify a field's data and fill leading area with space
  335.      characters.
  336.  
  337. void  fld_rjz( char * )
  338.      Right justify a field's data and fill leading area with zeros.
  339.  
  340. int   fld_terminate( int )
  341.      Check for a proper field termination key character.
  342.  
  343. void  fld_value( WINDOWPTR, FIELDPTR )
  344.      Display the data value contained in the structure on the screen.
  345.      This function also re-writes the prompt.
  346.  
  347. void  fm_clear( WINDOWPTR )
  348.      Clears all fields to space characters.
  349.  
  350. int   fm_proc( WINDOWPTR )
  351.      This function processes all fields in the window field list.
  352.  
  353. int   fsub_str( char *substr, char *str )
  354.      Find the location of a substring in a larger string.
  355.  
  356. double gal_lt( double );
  357.      Converts gallons to liters.  Implemented as a macro.
  358.  
  359. long  gcd( long, long )
  360.      Return the greatest common divisor for two long integers.
  361.  
  362. int   get_ca( int, int, int )
  363.      Get a character and atribute from the screen at the location
  364.      of the cursor on a pased page.
  365.  
  366. void  getcha( int *att, char *ch )
  367.      Get the character and attribute at the current cursor location.
  368.  
  369. int   get_curs(int *row, int *col, int page)
  370.      Get the current cursor position on the specified page.
  371.  
  372. long  get_mem( void )
  373.      Returns the largest free block of memory.
  374.  
  375. int   getmode( void )
  376.      Returns the current video mode.
  377.  
  378. unsigned get_psp( void )
  379.      Returns the segment address of the PSP.
  380.  
  381. int   get_str( char *str )
  382.      Get a string from the user and replace the CR terminator with
  383.      a NULL terminator.
  384.  
  385. long  getticks( void );
  386.      The function returns the current BIOS clock tick counter value.
  387.  
  388. void  gliss( int, int, int );
  389.      This function produces a glissando sound.  It may be either
  390.      a rising or falling glissando.  The parameters are start
  391.      and end frequencies and the amount added for each pass through
  392.      the loop.  This third parameter thus controls the speed of
  393.      the glissando produced.
  394.  
  395. double gm_oz( double );
  396.      Converts grams to ounces.  Implemented as a macro.
  397.  
  398. int   gotorc(int row, int col, int page )
  399.      Position the cursor on the specified page.  Returns 0 if successful,
  400.      -1 if row is too large, -2 if the column is too large and -3 if
  401.      both are too large.
  402.  
  403. void  gr_bckgnd( int color )
  404.      Set the graphics background color.
  405.  
  406. long  gregorian( long )
  407.      Converts a julian date number to a gregorian date in 'YYYYMMDD'
  408.      format.
  409.  
  410. void  heap_map( void );
  411.      Display a map of the current heam memory status.  This is only
  412.      available for the Microsoft C version of the library at present
  413.  
  414. int   inactive_dsply( MNUPTR mnu_ptr, int choice  )
  415.      Display the selected menu item in the inactive attribute.
  416.  
  417. double inch_cm( double );
  418.      Convert inches to centimeters.  Implemented as a macro.
  419.  
  420. int   indexch( char *str, char ch )
  421.      Returns the first position, starting form the left, of the character
  422.      within the string.
  423.  
  424. int   indexr( char *str, char ch )
  425.      Returns the righmost location of the character within the string.
  426.  
  427. int   ins_ch( char ch, char *str, int start )
  428.      Inserts a character into a string at start.  Returns the length of
  429.      the resulting string.    The passed string must be long enough to
  430.      hold the added character.
  431.  
  432. int   insert_item( MNUPTR mnu_ptr, MNU_ITEMPTR mnu_item )
  433.      Add a menu item definition to a defined menu.
  434.  
  435. int   ins_spc( char *str, int start, int number )
  436.      Inserts a number of spaces into a string starting at the position
  437.      start.  Returns the length of the resulting string.  The passed
  438.      string must be long enough to hold the addes spaces.
  439.  
  440. int   isalt( void )
  441.      Return 1 if allternate key is currently pressed, 0 otherwise.
  442.  
  443. int   isblanks( char * )
  444.      Return 1 if a string is all space characters, otherwise return 0.
  445.  
  446. int   iscaplk( void )
  447.      Return 1 if caps lock key is active, 0 otherwise.
  448.  
  449. int   isctrl( void )
  450.      Return 1 if control key is depressed, 0 otherwise.
  451.  
  452. int   isega( void )
  453.      Determine if an EGA adapter is active in the current system.
  454.      Returns the number of kilobytes of EGA memory if installed
  455.      or -1 if no EGA adapter is found.
  456.  
  457. int   isleapyr( int )
  458.      Returns 1 if the passed year is a leap year, otherwise return 0.
  459.  
  460. int   islshift( void )
  461.      Return 1 if left shift key is depressed, 0 otherwise.
  462.  
  463. int   isnumlk( void )
  464.      Return 1 if the num lock key is depressed, 0 otherwise.
  465.  
  466. int   isrshift( void )
  467.      Return 1 if right shift key is depressed, 0 otherwise.
  468.  
  469. int   isscrlk( void )
  470.      Return 1 if the scroll lock key is depressed, 0 otherwise.
  471.  
  472. int   item_dsply( MNUPTR mnu_ptr )
  473.      Display a single menu item including the special key letter.
  474.  
  475. long  jul2day( long );
  476.      Convert a julian date into a date in YYMMDD format.  This is
  477.      useful from about 1900 to 2100 due to approximations in the
  478.      calculations.
  479.  
  480. long  julian( int, int, int )
  481.      Returns a julian date when passed a year, month and day.
  482.      Accurate from 1/1/1 to 9999/12/31.
  483.  
  484. double kg_lb( double );
  485.      Converts kilograms to pounds.    implemented as a macro.
  486.  
  487. double km_mi( double );
  488.      Converts kilometers to miles.    Implemented as a macro.
  489.  
  490. unsigned kstate( void )
  491.      Returns the key state byte via interrupt 0x016.
  492.  
  493. double lb_kg( double );
  494.      Converts pounds to kilograms.    Implemented as a macro.
  495.  
  496. char  *left_str( char str[], int length )
  497.      Return a substring of a given length from the left of a passed
  498.      string
  499.  
  500. void  lprintf( char *, ... );
  501.      Acts just like printf() except the output is sent to the
  502.      printer and you must end the argument list with a NULL arg.
  503.  
  504. void  lputchar( char );
  505.      Sends a single character to the printer.
  506.  
  507. void  lputs( char * );
  508.      Sends a string to the printer.  The string contains a '\n'
  509.      character appended to the end.
  510.  
  511. double lt_gal( double );
  512.      Converts liters to gallons.  Implemented as a macro.
  513.  
  514. MNU_ITEMPTR make_item( int row, int col, int inactive,
  515.                int active, char *text, PFI func,
  516.                char letter, int att_letter, MNUPTR mnu_ptr )
  517.      Allocate a menu item structure and assign values to it.
  518.  
  519. MNUPTR make_mnu( WINDOWPTR wn_mnu )
  520.      Allocate a menu structure and attach a window to it.
  521.  
  522. int    mnu_dsply( MNUPTR mnu_ptr )
  523.      Display a complete menu with all fields.
  524.  
  525. int    mnu_proc( MNUPTR mnu_ptr, int item_nbr )
  526.      Process a menu.
  527.  
  528. double m_yd( double );
  529.      Converts meters to yards.  Implemented as a macro.
  530.  
  531. int   m_btnpos( void );
  532.      Returns the mouse button status as follows:
  533.      0 - no button pressed.
  534.      1 - left button pressed.
  535.      2 - right button pressed.
  536.      3 - both buttons pressed.
  537.  
  538. void  m_flagde( void );
  539.      Decrement the mouse cursor flag.  The maximum value is 0
  540.      which makes the cursor visible while all negative values
  541.      indicate an invisible mouse cursor.
  542.  
  543. void  m_flagin( void );
  544.      Increment the mouse cursor flag.  The maximum value is 0
  545.      which makes the cursor visible while all negative values
  546.      indicate an invisible mouse cursor.
  547.  
  548. int   m_ghpos( void );
  549.      Return the mouse current horizontal position.    The value will
  550.      be within the virtual screen limits.  Default is from 1 to 639.
  551.  
  552. int   m_grbcnt( void );
  553.      Returns the number of right mouse button presses.
  554.  
  555. int   m_glbcnt( void );
  556.      Returns the number of left mouse button presses.
  557.  
  558. int   m_gvpos( void );
  559.      Return the current mouse vertical position.  The value will
  560.      be within the virtual screen limits.  Default return is from
  561.      0 to 199.
  562.  
  563. char  *mid_str( char str[], int start, int length )
  564.      Returns a substring of a passed string starting at start and
  565.      of length length.
  566.  
  567. double mi_km( double );
  568.      Converts miles to kilometers.    Implemented as a macro.
  569.  
  570. int   mk_att( int back, int fore )
  571.      Combine foreground and background colors into an attribute byte.
  572.  
  573. unsigned mk_offset( int row, int col )
  574.      Convert row and column coordinates into an offset into the
  575.      video buffer.
  576.  
  577. int   m_llphpos( void );
  578.      Return the horizontal position when the left button was last
  579.      pressed.
  580.  
  581. int   m_llpvpos( void );
  582.      Return the vertical position when the left button was last
  583.      pressed.
  584.  
  585. int   m_llrhpos( void );
  586.      Return the horizontal position when the left button was last
  587.      released.
  588.  
  589. int   m_llrvpos( void );
  590.      Return the vertical position when the left button was last
  591.      released.
  592.  
  593. int   m_lrphpos( void );
  594.      Return the horizontal position when the right button was last
  595.      pressed.
  596.  
  597. int   m_lrrhpos( void );
  598.      Return the horizontal position when the right button was last
  599.      released.
  600.  
  601. int   m_lrpvpos( void );
  602.      Return the vertical position when the right button was last
  603.      pressed.
  604.  
  605. int   m_lrrvpos( void );
  606.      Return the vertical position when the right button was last
  607.      released.
  608.  
  609. int   month( long );
  610.      Returns the month portion of a date in YYMMDD format.
  611.  
  612. char  *month_str( void )
  613.      Reads the BIOS clock and returns a string for the current
  614.      month.  Memory is malloced within the function for the string.
  615.  
  616. int   monthyr( void )
  617.      Returns the month number for the current BIOS clock date.  Starts
  618.      with January = 0;
  619.  
  620. int   m_reset( void );
  621.      Resets the mouse to the power up state.
  622.  
  623. void  m_setpos( int, int );
  624.      Sets both the horizontal and vertical positions for the
  625.      mouse.  The passed values must be within the virtual
  626.      screen limits.  No check is made to insure this is true.
  627.  
  628. void  m_txtscur( int, int );
  629.      Sets a text mode software cursor.  It is passed a screen
  630.      mask and a cursor mask.
  631.  
  632. int   m_2_row( int );
  633.      Returns the text row number for a passed pixel mouse coordinate.
  634.      Row numbers are from 0 to 24.
  635.  
  636. void  nbr2wrds( double, char * )
  637.      Converts a number in money format to a string of words.
  638.  
  639. int   nbr_prns( void )
  640.      Return the number of installed printers.
  641.  
  642. int   numcols( void )
  643.      Returns the number os current screen columns.
  644.  
  645. double oz_gm( double );
  646.      Converts ounces to grams.  Implemented as a macro.
  647.  
  648. void  palette( int number )
  649.      Select the color set for mode 4 graphics.
  650.  
  651. void  phasor( int );
  652.      Makes a number of phasor sounds.  The number is a passed
  653.      parameter.
  654.  
  655. void  prn_6_ln( void );
  656.      Place the graphics printer in a 6 line per inch mode.
  657.  
  658. void  prn_8_ln( void );
  659.      Place the graphics printer in an 8 line per inch mode.
  660.  
  661. void  prn_10_cpi( void );
  662.      Place the graphics printer in a 10 character per inch mode.
  663.  
  664. void  prn_12_ln( void );
  665.      Place the graphics printer in a 12 line per inch mode.
  666.  
  667. void  prn_12_cpi( void );
  668.      Place the graphics printer in a 12 character per inch mode.
  669.  
  670. void  prn_bell( void );
  671.      Ring the printer bell.
  672.  
  673. void  prn_can( void );
  674.      Cancel printer job and clear the print buffer.
  675.  
  676. void  prncomof( void );
  677.      Turn off the graphcis printer compresed mode.
  678.  
  679. void  prncomon( void );
  680.      Turn on the graphics printer compressed mode.
  681.  
  682. void  prndblof( void );
  683.      Turn off the double print mode.
  684.  
  685. void  prndblon( void );
  686.      Turn on the double print mode.
  687.  
  688. void  prndwof( void );
  689.      Turn off the double wide mode.
  690.  
  691. void  prndwon( void );
  692.      Turn on the double wide mode.
  693.  
  694. void  prnempof( void );
  695.      Turn off emphasized print.
  696.  
  697. void  prnempon( void );
  698.      Turn on emphasized print.
  699.  
  700. void  prn_ends( void );
  701.      End the super/sub-script modes.
  702.  
  703. void  prn_ff( void );
  704.      Send a form feed to the graphics printer.
  705.  
  706. int   prn_ready( void )
  707.      Returns non-zero if the printer is ready to print.  This is
  708.      somewhat dependent on individual components but should work
  709.      properly on most compatibles and printers.
  710.  
  711. void  prn_sub( void );
  712.      Place the printer in the subscript mode.
  713.  
  714. void  prn_sup( void );
  715.      Place the printer in the superscript mode.
  716.  
  717. void  prn_unof( void );
  718.      End the underline print mode.
  719.  
  720. void  prn_unon( void );
  721.      Start underline print mode.
  722.  
  723. void  prnwidof( void );
  724.      Turn off the wide print mode.
  725.  
  726. void  prnwidon( void );
  727.      This function turns on the wide print mode.  It is turned
  728.      off automatically at the next print command.
  729.  
  730. int   put_ch( register char ch, int page )
  731.      Puts a character at the current cursor position using the existing
  732.      screen attribute.  Moves the cursor forward one character position.
  733.  
  734. int   put_cha( register char ch, int page, int att )
  735.      Puts a character on the screen at the current cursor location.  Uses
  736.      a passed attribute and moves the cursor forward on character
  737.      position.
  738.  
  739. void  putchr( char ch )
  740.      Puts a character at the current cursor location using the existing
  741.      screen attribute.  Does not alter the current cursor position.
  742.  
  743. double rad_deg( double );
  744.      Converts radians to degrees.  Implemented as a macro.
  745.  
  746. int   read_att( int page )
  747.      Returns the attribute at the current cursor location.
  748.  
  749. int   read_ch( int page, int *att)
  750.      Returns the character at the current cursor location.    The
  751.      attribute is returned in the formal parameter.
  752.  
  753. void  replacech( char *str, char chold, char chnew )
  754.      Replaces alll occurances of a character in a string with a new
  755.      character.
  756.  
  757. char  *right_str( char str[], int length )
  758.      Return a substring of length starting at the far right of a string.
  759.  
  760. void  rjust( char source[], char dest[], int width )
  761.      Right justify a string within a passed width.    The justified
  762.      string is returned in dest[].
  763.  
  764. void  scr_1ln( int ulr, int ulc, int lrr, int lrc, int att)
  765.      Scroll a portion or all of the screen up one line.
  766.  
  767. void  scrn_off( void )
  768.      Turns off the screen.
  769.  
  770. void  scrn_on( void )
  771.      Turns the screen back on after a call to scrn_off().
  772.  
  773. void  setcursh( int start, int stop )
  774.      Set the cursor shape ( start and stop lines ).
  775.  
  776. void  setfreq( int );
  777.      Set a frequency value for the sound chips to use in sound
  778.      production.
  779.  
  780. int  setmode( int mode )
  781.      Set the video mode.
  782.  
  783. void  setpage( int page )
  784.      Set the active video page.
  785.  
  786. int   sf_active( FIELDPTR, int )
  787.      Set the field active attribute ( the atribute when the field
  788.      is the current field ).
  789.  
  790. int   sf_begfu( FILEDPTR, PFI )
  791.      Attaches a function to the field structure.  This function will
  792.      be called before the field is processed.
  793.  
  794. int   sf_endfu( FIELDPTR, PFI )
  795.      Attaches a function to the field structure.  This function will
  796.      be called after the field is processed.
  797.  
  798. int   sf_hlptag( FIELDPTR, char * )
  799.      Set the field help tag in the field structure.
  800.  
  801. int   sf_inactive( FIELDPTR, int )
  802.      Set the field attribute when not the current field.
  803.  
  804. int   sf_message( FIELDPTR, char * )
  805.      Set a message in the field structure to be displayed when
  806.      the field is the current field.  This message may be displayed
  807.      through the use of a begin field function.
  808.  
  809. int   sf_on_key( FIELDPTR, PFI )
  810.      Attaches a function pointer to the field structure that will be
  811.      called when the users presses a key.  May be used to preprosses
  812.      key strokes before the field editor.
  813.  
  814. int   sf_patt( FIELDPTR, int )
  815.      Sets the attibute to be used in writting the prompt to the screen.
  816.  
  817. int   sf_prompt( FIELDPTR, char * )
  818.      Sets the field prompt character array into the field structure.
  819.  
  820. int   sf_prot( FIELDPTR, char * )
  821.      Sets field protection.
  822.  
  823. int   sf_usr_val( FIELDPTR, PFI )
  824.      Sets a user validation function.  May be called from an end field
  825.      function.
  826.  
  827. int   sf_val( FIELDPTR, PFI )
  828.      Sets a validation function.  This function will be called from
  829.      within the field editor.
  830.  
  831. void  shr_str( char *str )
  832.      Shift a string to the right.
  833.  
  834. void  siren( int );
  835.      Produces a number of siren sounds.
  836.  
  837. int   str_beg( char * )
  838.      Find the first actual text character in a string.  Uses the
  839.      C counting scheme in that the first character is 0.  Returns
  840.      -1 if the string contains no real text, otherwise returns
  841.      the first actual ( non-space ) text position.
  842.  
  843. char  *strblnk( int )
  844.      Allocates memory for a string of a passed size.  The string
  845.      is initialized to all space characters.  The function allocates
  846.      the extra space for the NULL terminator so the user need only
  847.      pass the actual size desired.
  848.  
  849. void  str_cent( char *, char *, int )
  850.      Center a string in a destination buffer.  The width in which to
  851.      center is also passed.
  852.  
  853. int   str_cjst( char * );
  854.      Center a string's characters within the string itself.  This
  855.      alters the passed string.
  856.  
  857. char  *str_date( void )
  858.      Returns the current date as a formatted string (MM:DD:YYYY).
  859.  
  860. int   str_end( char * )
  861.      Find the last real text character in a string.  Uses the C
  862.      counting scheme in that the first character is numbered 0.
  863.      If the string contains all spaces the return is -1 otherwise
  864.      the ending text location is returned.
  865.  
  866. int   strip_nl( char * );
  867.      Strips trailing newlines from a string.
  868.  
  869. int  str_left( char *str, int start, int number )
  870.      Shift the characters in a string to the left by a number
  871.      of bytes starting from a passed start point.  Caller is not
  872.      allowed to shift the string past the starting point for the
  873.      string.
  874.  
  875. int   str_ljst( char * );
  876.      Left justifies the characters in a string by altering the
  877.      passed string.
  878.  
  879. char  *str_mask( char *str, char *mask )
  880.      This function creates and returns a subset of a given
  881.      string based on a passed mask.  In the mask string a
  882.      '?' character will return the character for that
  883.      position.  An 'x' character will cause the
  884.      corresponding character to be deleted while a ' '
  885.      character will substitute a space for the character.
  886.      An 'A' character will convert any alphabetic character
  887.      in that position to upper case while a character of
  888.      'a' will convert the string character to lower case.
  889.      If the mask character is '9' only digits will be
  890.      allowed, a non-digit will be converted to a space.
  891.  
  892. char  *str_mon( long )
  893.      Return the month as a malloced word for a passed long date
  894.      in 'YYMMDD' format.
  895.  
  896. void  strpad( char str[], int number )
  897.      Adds a given number of spaces to the left of a string.
  898.  
  899. void  str_rev( char str[] )
  900.      Reverse the order of characters in a string.
  901.  
  902. int   str_right( char *str, int start, int number )
  903.      Shift a the characters in a string to the right by a
  904.      number of bytes starting from a passed start point.
  905.      The string must be long enough so that the shift will
  906.      not overshoot the string.  No check is made for this.
  907.      Return: resulting string length.
  908.  
  909. int   str_rjst( char * );
  910.      Right justifies the passed string within the string by
  911.      altering the string itself.
  912.  
  913. char  *str_save( char * )
  914.      Malloc space for a string, copy the passed string to this
  915.      space and return a pointer to the new string.
  916.  
  917. char  *str_time( void )
  918.      Returns the current time as a string in 'hh:mm:ss' format.
  919.  
  920. void  strtolow( char str[] )
  921.      Converts all characters in a string to lower case.
  922.  
  923. void  strtoup( char str[] )
  924.      Converts all charaters in a string to upper case.
  925.  
  926. void  sw_att(int att, int count, int page)
  927.      Screen write an attribute to the specified video page.
  928.  
  929. int   sw_ch( char ch, int count, int page )
  930.      Screen write a character to the video page specified.    Uses the
  931.      current screen attribute and wraps at the end of the line.
  932.  
  933. int   sw_cha( char ch, int att, int count, int page )
  934.      Screen write a charater and an attribute on the given video page.
  935.  
  936. int   sw_str( register char *str, int page )
  937.      Screen write a string to the specified video page using the
  938.      current attribute.
  939.  
  940. int   sw_stra( register char *str, int page, int att )
  941.      Screen write a string to the specified video page using a
  942.      passed attribute.
  943.  
  944. int   uc_beep( void )
  945.      Sound the speaker tone.
  946.  
  947. void  ucdelay( float );
  948.      This program causes a delay in fractions of a second.    It
  949.      is based on the timer tick value and thus has a resolution
  950.      of only about 1/18.2 or 0.55 seconds.
  951.  
  952. void  uc_error( void );
  953.      Sound a short tone of 440 HZ followed by a short tone of
  954.      220 HZ.
  955.  
  956. void  uc_hline( int, int, char, int, int, int );
  957.      Draw a horizontal line of character on the screen.
  958.  
  959. int   uc_key( void );
  960.      Get a keystroke without echoing to the screen.  The value
  961.      returned is negative for special keys.  ( see key.h )
  962.      Returns ASCII key code otherwise.
  963.  
  964. void  uc_ok( void );
  965.      Sound a short tone of 440 HZ followed by a short tone of 880 HZ.
  966.  
  967. unsigned ucpeek( unsigned seg, unsigned off )
  968.      Peek a word from memory from a passed address in segment and
  969.      offset form.
  970.  
  971. unsigned char ucpeekb( unsigned seg, unsigned off )
  972.      Peek a byte from memory from a passed address in segment and
  973.      offset form.
  974.  
  975. void  ucpoke( unsigned seg, unsigned off, unsigned value )
  976.      Poke a word into memory at the address indicated by segment
  977.      and offset.
  978.  
  979. void ucpokeb( unsigned seg, unsigned off, unsigned char value )
  980.      Poke a byte into memory at the address indicated by segment
  981.      and offset.
  982.  
  983. long  uc_today( void );
  984.      Find the current date as a long integer.  Date is returned in
  985.      YYMMDD format.
  986.  
  987. void  uc_tone( int, float );
  988.      Sound a tone from a passed frequency and duration.
  989.  
  990. void  uc_vline( int, int, char, int, int, int );
  991.      Draw a vertical line of character on the video screen.
  992.  
  993. unsigned ucvpeek( int, int );
  994.      Return the word contained in video memory at a row and
  995.      column position.
  996.  
  997. void  ucvpoke( int row, int col, int attribute, char ch )
  998.      Poke a character and attribute into the video buffer using
  999.      row and column screen coordinates.
  1000.  
  1001. void  ucvpokeb( int row, int col, char ch )
  1002.      Poke a character into the video buffer using row and column
  1003.      coordinates.
  1004.  
  1005. void  unmk_att( int, int *, int * );
  1006.      Unmake an attribute byte and return the foreground and
  1007.      background colors in parameters.
  1008.  
  1009. int   val_mon( int )
  1010.      Validates that a month number is proper.
  1011.  
  1012. int   val_date( char * )
  1013.      Validates a date in 'mmddyy' format.
  1014.  
  1015. int   val_state( char * )
  1016.      Validates a state two letter abbreviation for a proper upper
  1017.      case value.
  1018.  
  1019. double v_cone( double, double );
  1020.      Return the volume of a cone from the radius and height.
  1021.  
  1022. double v_sphere( double );
  1023.      Return the volume of a sphere from its radius.
  1024.  
  1025. void  vwarble( int, int, int );
  1026.      Produces a variable warble sound in which the low tone gets
  1027.      lower and the high tone gets higher with each cycle.
  1028.  
  1029. void  warble( int, int, int );
  1030.      Produces a warble sound.  The user may specify the low and
  1031.      high tones and the number of warbles.
  1032.  
  1033. void  w_ch( int ch, int color, int page )
  1034.      Write a character in color using a BIOS call.
  1035.  
  1036. void  w_cha( int ch, int att, int page )
  1037.      Write a character and attribute at the cursor location on page.
  1038.  
  1039. int   wkday( void );
  1040.      Returns a number for the current day of the week from the BIOS
  1041.      clock.  Starts with Sunday as 1.
  1042.  
  1043. char  *wkday_str( void )
  1044.      Return the current day as a string.
  1045.  
  1046. void  wn_addbg( WINDOPTR )
  1047.      Add a window to the linked list of windows.
  1048.  
  1049. void  wn_adden( WINDOWPTR )
  1050.      Add a window to the linked list of windows.
  1051.  
  1052. int   *wn_addr( WINDOWPTR, int, int )
  1053.      Computes the actual location of a character within a window.
  1054.      This location may be on the screen or in another window's save
  1055.      area if window's are overlapping on the screen.
  1056.  
  1057. void  wn_back( WINDOWPTR )
  1058.      Moves a window behind all other windows.
  1059.  
  1060. void  wn_bclr( WINDOWPTR, int )
  1061.      Sets the border attribute for a window.
  1062.  
  1063. void  wn_bdr( WINDOWPTR )
  1064.      Draw the border for a window.
  1065.  
  1066. void  wn_char( WINDOWPTR, int, int, int, int )
  1067.      Write a character to a window.
  1068.  
  1069. void  wn_clear( WINDOWPTR )
  1070.      Clears the window area to all spaces in the window normal
  1071.      attribute.
  1072.  
  1073. void  wn_check( WINDOW ** )
  1074.      Checks to see if a window is in the current linked list of
  1075.      windows.
  1076.  
  1077. void  wn_clrerr( void )
  1078.      Deletes the error window from the window list after removing
  1079.      it from the screen.
  1080.  
  1081. void  wn_csr( WINDOWPTR, int, int )
  1082.      Sets the position of the window cursor.
  1083.  
  1084. void  wn_delete( WINDOWPTR )
  1085.      Deletes a window from the window list.  If the window was
  1086.      displayed on the screen it will be removed from the screen first.
  1087.  
  1088. void  wn_dsply( WINDOWPTR )
  1089.      Displays a window currently in the window list.
  1090.  
  1091. void  wn_err( char * )
  1092.      Displays an error message in the error window.
  1093.  
  1094. void  wn_front( WINDOWPTR )
  1095.      Moves a window to the front of the display, in front of
  1096.      all other displayed windows.
  1097.  
  1098. int   wn_getch( WINDOWPTR, int, int )
  1099.      Gets a character from a given row, col position in a window.
  1100.  
  1101. void  wn_hide( WINDOWPTR )
  1102.      Removes a window from the screen.  The window is not destroyed
  1103.      and may be redisplayed later.    The window may also have text
  1104.      written to it while it is hidden.
  1105.  
  1106. void  wn_insert( WINDOWPTR, WINDOWPTR )
  1107.      Insert a window into the window list after a given window
  1108.      which must be in the current list.
  1109.  
  1110. WINDOWPTR wn_make( int, int, int, int )
  1111.      Allocates a window structure from the passed row, col, height,
  1112.      and width coordinates.  All other window structure values are
  1113.      assigned default values.
  1114.  
  1115. void  wn_margin( WINDOWPTR, int )
  1116.      Assigns a margin value to the window structure for horizontal
  1117.      margins ( right and left ).
  1118.  
  1119. void  wn_mkbdr( WINDOWPTR, BORDERPTR )
  1120.      Assigns a border type to the window.
  1121.  
  1122. void  wn_move( WINDOWPTR, int, int, int )
  1123.      Moves a window in three directions, x, y and z axis.
  1124.  
  1125. void  wn_pchar( WINDOWPTR, int )
  1126.      Writes a single character to a window.
  1127.  
  1128. void  wn_position( WINDOWPTR, int, int )
  1129.      Moves a window to a given row, col location on the screen.
  1130.  
  1131. void  wn_printf( WINDOWPTR, char *, ... )
  1132.      Similar to the normal printf function with the addition of
  1133.      a window parameter.  This function will also write in the
  1134.      current attribute as do most of the window write functions.
  1135.  
  1136. void  wn_rposition( WINDOWPTR, int, int )
  1137.      Moves a window by a relative distance for row, col on the screen.
  1138.      Negative displacements are allowed in order that windows may
  1139.      be moved up or to the left.
  1140.  
  1141. void  wn_scroll( WINDOWPTR, int )
  1142.      Used to scroll a window up or down ( depending on the direction
  1143.      parameter ).
  1144.  
  1145. void  wn_swap( WINDOWPTR )
  1146.      Swap a window with its save buffer.  If hidden this will display
  1147.      the window, if displayed this will restore the background.
  1148.  
  1149. void  wn_unlist( WINDOWPTR )
  1150.      Remove a window from the window list.
  1151.  
  1152. void  wn_wclr( WINDOWPTR, int )
  1153.      Set the window normal attribute.
  1154.  
  1155. void  w_strc( char *str, int color, int page )
  1156.      Write a string in color on a specified page using a BIOS call.
  1157.  
  1158. void  wv_str( char *, int, int )
  1159.      Write a string using BIOS calls with wrap at end of screen.  The
  1160.      caller specifies attribute and video page for the write.
  1161.  
  1162. double yd_m( double );
  1163.      Converts yards to meters.  Implemented as a macro.
  1164.  
  1165. int   year( long );
  1166.      Returns the year portion of a date in YYMMDD format.
  1167.  
  1168. int   zeller( int, int, int )
  1169.      Returns the day of the week ( 0 to 6 ) for a passed year,
  1170.      month, and day.
  1171.